package servlets;
import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import dataSet.*;
import logica.*;
import entidades.*;
public class ABMComisionesServlet {

    loComision objLoComisiones = new loComision();
    loPlanes objLoPlanes = new loPlanes();
	loCursos objLoCursos = new loCursos();
	public void cargarComisiones(HttpServletRequest request, HttpServletResponse response){
	ArrayList<ComisionPlan> comisiones =objLoComisiones.recuperarComisionesParaABM();
	request.setAttribute("comisionesPlan", comisiones);
	
	}
	public void cargarPlanesEspecialidad(HttpServletRequest request, HttpServletResponse response){
		HttpSession session = request.getSession(true);	    

		loPlanes objLoPlanes = new loPlanes();
        ArrayList<PlanEspecialidad> planes = objLoPlanes.recuperTodos();
		//request.setAttribute("planes", planes);
		session.setAttribute("planes", planes);
       
	}

	public boolean validarCampos( String campo1, String campo2, String campo3,String campo4, String campo5){
		boolean a =true;
	if ( campo1.isEmpty()|| campo2.isEmpty() || campo3.isEmpty() || campo4.isEmpty() || campo5.isEmpty()){
		a = false;
	}
		return a;
	}
	
	public void agregarComision(int ano, int idPlan,String nombre){
		Comision nuevaComision = new Comision();  
		nuevaComision.setAnioEspecialidad(ano);
		nuevaComision.setIdPlan(idPlan);
		nuevaComision.setDescripcion(nombre);
		objLoComisiones.agregarComisiones(nuevaComision);
	}
	public void cargarMaterias(HttpServletRequest request, HttpServletResponse response){
		HttpSession session = request.getSession(true);	    

		loMaterias objLoMaterias = new loMaterias();
        ArrayList<Materia> materias = objLoMaterias.recuperTodas();
		//request.setAttribute("planes", planes);
		session.setAttribute("materias", materias);
       
	}
	public void agregarCurso(int anioCalendario, int cupo,int idMateria,int idComision){
        Curso nuevoCurso = new Curso();
        loCursos objLoCursos = new loCursos();
		nuevoCurso.setAnioCalendario(anioCalendario);
		nuevoCurso.setCupo(cupo);
		nuevoCurso.setIdMateria(idMateria);
		nuevoCurso.setIdComision(idComision);
        objLoCursos.agregarCurso(nuevoCurso);
	}
	public void modificarComisionCurso(HttpServletRequest request, HttpServletResponse response,int idComision,int idPlan,String descripcion,int anio,int anioCalendario,int idMateria, int cupo){
		Curso objCurso = new Curso();
        Comision objComision = new Comision();
        Curso cursoParaID = new Curso();
        
        cursoParaID = objLoCursos.getCursoxComision(idComision);
        int idCurso = cursoParaID.getId();
        
        objComision.setId(idComision);
        objComision.setIdPlan(idPlan);
        objComision.setDescripcion(descripcion);
        objComision.setAnioEspecialidad(anio);
       
        
        
        objCurso.setAnioCalendario(anioCalendario);
        objCurso.setId(idCurso);
        objCurso.setIdMateria(idMateria);
        objCurso.setIdComision(idComision);
        objCurso.setCupo(cupo);
        objLoComisiones.modificarComisiones(objComision);
        objLoCursos.modificarCurso(objCurso);
	}
	public void setearCursoComision(int idComision,HttpServletRequest request, HttpServletResponse response){
		Curso objCurso = new Curso();
        Comision objComision = new Comision();
		loCursos objLoCurso = new loCursos();
        loComision objLoComision = new loComision();
		
        objComision = objLoComision.getComision(idComision);
        objCurso = objLoCurso.getCursoxComision(idComision);
		
        request.setAttribute("curso", objCurso);
        request.setAttribute("comision", objComision);
        
		
	}
	public boolean eliminarComision(int idComision){
		boolean a = false;
		if (!objLoComisiones.estaAsociadaACurso(String.valueOf(idComision))){
		objLoComisiones.borrarComisiones(idComision);
		a = true;
		}
		return a;
	}
	public boolean eliminarCurso(int idCurso){
		boolean a = false;
		if (!objLoCursos.tieneInscriptos(String.valueOf(idCurso))){
			objLoCursos.borrarCurso(idCurso);			
		a = true;	
		}
		
		return a;
				
	}

}
